home *** CD-ROM | disk | FTP | other *** search
/ MPEG Toolkit / MPEG Toolkit.iso / dos / mpegstat / proto.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-01  |  3.7 KB  |  98 lines

  1. /* MPEGSTAT - analyzing tool for MPEG-I video streams
  2.  * 
  3.  * Technical University of Berlin, Germany, Dept. of Computer Science
  4.  * Tom Pfeifer - Multimedia systems project - pfeifer@fokus.gmd.de
  5.  *
  6.  * Jens Brettin, Harald Masche, Alexander Schulze, Dirk Schubert
  7.  *
  8.  * This program uses parts of the source code of the Berkeley MPEG player
  9.  *
  10.  * ---------------------------
  11.  *
  12.  * Copyright (c) 1993 Technical University of Berlin, Germany
  13.  *
  14.  * for the parts of the Berkeley player used:
  15.  *
  16.  * Copyright (c) 1992 The Regents of the University of California.
  17.  * All rights reserved.
  18.  *
  19.  * ---------------------------
  20.  *
  21.  * Permission to use, copy, modify, and distribute this software and its
  22.  * documentation for any purpose, without fee, and without written agreement is
  23.  * hereby granted, provided that the above copyright notices and the following
  24.  * two paragraphs appear in all copies of this software.
  25.  * 
  26.  * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA 
  27.  * or the Technical University of Berlin BE LIABLE TO ANY PARTY FOR
  28.  * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
  29.  * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
  30.  * CALIFORNIA or the Technical University of Berlin HAS BEEN ADVISED OF THE 
  31.  * POSSIBILITY OF SUCH DAMAGE.
  32.  * 
  33.  * THE UNIVERSITY OF CALIFORNIA and the Technical University of Berlin 
  34.  * SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 
  35.  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  36.  * PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE 
  37.  * UNIVERSITY OF CALIFORNIA and the Technical University of Berlin HAVE NO 
  38.  * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, 
  39.  * OR MODIFICATIONS.
  40.  */
  41. #ifdef __STDC__
  42. # define    P(s) s
  43. #else
  44. # define P(s) ()
  45. #endif
  46.  
  47.  
  48. /* util.c */
  49. void correct_underflow P((void ));
  50. int next_bits P((int num , unsigned int mask ));
  51. char *get_ext_data P((void ));
  52. int next_start_code P((void ));
  53. char *get_extra_bit_info P((void ));
  54.  
  55. /* video.c */
  56. void init_stats P((void ));
  57. void PrintAllStats P((void ));
  58. double ReadSysClock P((void ));
  59. void PrintTimeInfo P((void ));
  60. VidStream *NewVidStream P((int bufLength ));
  61. void DestroyVidStream P((VidStream *astream ));
  62. PictImage *NewPictImage P((unsigned int width , unsigned int height ));
  63. void DestroyPictImage P((PictImage *apictimage ));
  64. VidStream *mpegVidRsrc P((TimeStamp time_stamp , VidStream *vid_stream ));
  65. void ToggleBFlag P((void ));
  66. void TogglePFlag P((void ));
  67.  
  68. /* parseblock.c */
  69. void ParseReconBlock P((int n ));
  70. void ParseAwayBlock P((int n ));
  71.  
  72. /* motionvector.c */
  73. void ComputeForwVector P((int *recon_right_for_ptr , int *recon_down_for_ptr ));
  74. void ComputeBackVector P((int *recon_right_back_ptr , int *recon_down_back_ptr ));
  75.  
  76. /* decoders.c */
  77. void init_tables P((void ));
  78. void decodeDCTDCSizeLum P((unsigned int *value ));
  79. void decodeDCTDCSizeChrom P((unsigned int *value ));
  80. void decodeDCTCoeffFirst P((unsigned int *run , int *level ));
  81. void decodeDCTCoeffNext P((unsigned int *run , int *level ));
  82.  
  83. /* main.c */
  84. int get_more_data P((unsigned int *buf_start , int max_length , int *length_ptr , unsigned int **buf_ptr ));
  85. void int_handler P((void ));
  86. void main P((int argc , char **argv ));
  87. void usage P((char *s ));
  88. void DoDitherImage P((unsigned char *l , unsigned char *Cr , unsigned char *Cb , unsigned char *disp , int h , int w ));
  89.  
  90. /* jrevdct.c */
  91. void init_pre_idct P((void ));
  92. void j_rev_dct_sparse P((DCTBLOCK data , int pos ));
  93. void j_rev_dct P((DCTBLOCK data ));
  94. void j_rev_dct_sparse P((DCTBLOCK data , int pos ));
  95. void j_rev_dct P((DCTBLOCK data ));
  96.  
  97. #undef P
  98.